package main

import "fmt"

/**
 * @author: guangcheng
 * @date:   2020/11/16 16:14
 * @version  V1.0
 * @description:
 *
 */
func BubbleSort(arr *[5]int) {
	fmt.Println("排序前arr=", *arr)

	flag := false
	for i := 0; i < len(*arr); i++ {
		for j := 0; j < len(*arr)-1-i; j++ {
			if (*arr)[j] > (*arr)[j+1] {
				flag = true
				temp := (*arr)[j]
				(*arr)[j] = (*arr)[j+1]
				(*arr)[j+1] = temp

			}
		}
		if flag {
			flag = false
		} else {
			break
		}
	}

	return

	//for i := 0; i < len(*arr)-1; i++ {
	//	if (*arr)[i] > (*arr)[i+1] {
	//		temp := (*arr)[i]
	//		(*arr)[i] = (*arr)[i+1]
	//		(*arr)[i+1] = temp
	//
	//	}
	//}
	//fmt.Println("第一次排序后arr=", *arr)
	//
	//for i := 0; i < len(*arr)-2; i++ {
	//	if (*arr)[i] > (*arr)[i+1] {
	//		temp := (*arr)[i]
	//		(*arr)[i] = (*arr)[i+1]
	//		(*arr)[i+1] = temp
	//
	//	}
	//}
	//fmt.Println("第二次排序后arr=", *arr)
}

func main() {
	var arr [5]int = [...]int{90, 20, 78, 68, 1}
	BubbleSort(&arr)
	fmt.Println("排序后arr=", arr)
}
